From fac4f1d13d7cd8b4c88c802d0d89ced1e9ab8ac3 Mon Sep 17 00:00:00 2001 From: "smh22@labyrinth.cl.cam.ac.uk" Date: Wed, 5 Nov 2003 15:26:33 +0000 Subject: [PATCH] bitkeeper revision 1.565 (3fa916a9omQrijJLZBNMaip_G452lQ) tweak --- xen/drivers/block/xen_vbd.c | 6 ++++-- xen/include/hypervisor-ifs/vbd.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/xen/drivers/block/xen_vbd.c b/xen/drivers/block/xen_vbd.c index 50e8173d88..8ac4f889a7 100644 --- a/xen/drivers/block/xen_vbd.c +++ b/xen/drivers/block/xen_vbd.c @@ -189,11 +189,13 @@ void vbd_probe_devices(xen_disk_info_t *xdi, struct task_struct *p) for(i = 0; i < VBD_HTAB_SZ; i++) { for(v = p->vbdtab[i]; v; v = v->next) { + xdi->disks[xdi->count].device = v->vdevice; xdi->disks[xdi->count].info = XD_FLAG_VIRT | XD_TYPE_DISK; - /* XXX SMH: and now set XD_FLAG_RO if necessary */ - + if(!VBD_CAN_WRITE(v)) + xdi->disks[xdi->count].info |= XD_FLAG_RO; + xdi->disks[xdi->count].capacity = 0; for(x = v->extents; x; x = x->next) xdi->disks[xdi->count].capacity += x->extent.nr_sectors; diff --git a/xen/include/hypervisor-ifs/vbd.h b/xen/include/hypervisor-ifs/vbd.h index fd50333d7d..c9ac0898c7 100644 --- a/xen/include/hypervisor-ifs/vbd.h +++ b/xen/include/hypervisor-ifs/vbd.h @@ -28,7 +28,7 @@ typedef struct _xen_extent { #define VBD_MODE_W 0x2 #define VBD_CAN_READ(_v) ((_v)->mode & VBD_MODE_R) -#define VBD_CAN_WRITE(_v) ((_v)->mode & VBD_MODE_R) +#define VBD_CAN_WRITE(_v) ((_v)->mode & VBD_MODE_W) typedef struct _vbd_create { -- 2.30.2